1. Technical Field
The present invention relates in general to the field of computers, and in particular to sizing computer systems according to a customer's input. More particularly, the present invention relates to a method and computer program for creating a computer system, including hardware and software, that allows each subsystem provider to securely provide information about a particular subsystem without disclosing proprietary information about that subsystem.
2. Description of the Related Art
To optimally configure a computer system composed of multiple subsystems and meeting a customer's performance (capacity and throughput) requirements has traditionally required the use of scarce, highly-trained technical individuals who understand the total solution requirements of each subsystem, the interfaces between subsystems, and the ripple effect of changing each subsystem.
While computer-based sizing guides have been developed to aid in the process of sizing a system, such sizing guides generally still require a highly-trained system specialist to develop a sizing guide for each application (or environment). That is, such sizing guides still require the specialist to keep track of subsystem interactions and to have expertise in the area of hardware and software loads for particular needs.
Subsystem vendors may not wish to release performance factors of their solutions for fear that competitors will use these factors in competition against the subsystem vendor. For example, an e-mail program from a first vendor may require a total of 20 Megabytes of memory for a system with 10 users. Of the 20 Megabytes, 10 Megabytes may be required for the baseline system, and another 10 Megabytes may be required for the 10 users, each user requiring 1Megabyte of memory. If this level of performance detail were known to a second vendor, then the second vendor may be able to re-design his system to still require 20 Megabytes of memory, but requiring only 0.9 Megabytes of memory per user, thus appearing to be more efficient.
Sizing of a computer system needs to be a precise operation. That is, if the system is underpowered, either in the hardware or software, then performance will be lacking. Alternatively, if the system is overpowered, then there are wasted resources and the system's expense was higher than required. Either scenario is common when purchasing off-the-shelf software. Such software typically does not provide adequate configuration granularity to avoid configuring an overpowered or underpowered system.
What is needed therefore, is a method for sizing a computer system that permits separate independent development and hosting of each subsystem in the computer system, while also providing each subsystem provider adequate security to prevent unnecessary scrutiny of the subsystem's performance parameters.